#!/bin/bash
# HFT部署脚本测试用例

# 测试日志文件
TEST_LOG="deploy_test.log"

# 清除旧日志
rm -f $TEST_LOG

# 测试依赖检查
test_dependency_check() {
    echo "测试依赖检查..."
    ./deploy.sh --skip > $TEST_LOG 2>&1
    if grep -q "跳过依赖检查" $TEST_LOG; then
        echo "✅ 依赖检查跳过测试通过"
    else
        echo "❌ 依赖检查跳过测试失败"
        exit 1
    fi
}

# 测试清理构建
test_clean_build() {
    echo "测试清理构建..."
    mkdir -p build
    touch build/test_file
    ./deploy.sh --clean --skip > $TEST_LOG 2>&1
    if [ ! -d "build" ]; then
        echo "✅ 清理构建测试通过"
    else
        echo "❌ 清理构建测试失败"
        exit 1
    fi
}

# 测试环境变量加载
test_env_load() {
    echo "测试环境变量加载..."
    echo "BROKER_ID=test123" > test.env
    ./deploy.sh --env test.env --skip > $TEST_LOG 2>&1
    if grep -q "从test.env加载环境变量" $TEST_LOG; then
        echo "✅ 环境变量加载测试通过"
    else
        echo "❌ 环境变量加载测试失败"
        exit 1
    fi
    rm test.env
}

# 运行所有测试
run_tests() {
    test_dependency_check
    test_clean_build
    test_env_load
    
    echo ""
    echo "所有测试通过!"
    echo "详细日志请查看: $TEST_LOG"
}

# 主流程
main() {
    cd "$(dirname "$0")" || exit 1
    run_tests
}

main "$@"